package com.fe.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.fe.service.LoginService;
import com.fe.util.JacksonData;
import com.fe.util.SendNote;

@Controller
@RequestMapping("/login")
public class LoginController {
	@Autowired
	private LoginService loginService;
	
	/**
	 * 
	 * 方法描述：跳转到登陆注册界面
	 * @return
	 * @author ssh
	 * @date 2018年8月4日 下午7:47:57
	 */
	@GetMapping("/login")
	public String login(Map<String, Object> map) {
		return "login/login";
	}
	
	/**
	 * 
	 * 方法描述：跳转到登陆注册界面
	 * @return
	 * @author ssh
	 * @date 2018年8月4日 下午7:47:57
	 */
	@GetMapping("/register")
	public String register(Map<String, Object> map) {
		return "login/login";
	}
	
	/**
	 * 向绑定的手机发送验证码
	 * @param request
	 * @param tel
	 * @return
	 */
	@PostMapping("/sendMobileCode")
	@ResponseBody
	public int sendMobileCode(String tel) {
		Integer code =((int)(Math.random()*9000+1000));
		try {
			SendNote.note(tel, code.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return code;
	}
	
	/**
	 * 
	 * 方法描述：用户注册时，判断手机号是否已经被注册
	 * @param tel
	 * @return
	 * @author ssh
	 * @date 2018年8月19日 下午1:12:54
	 */
	@PostMapping("/existTel")
	@ResponseBody
	public JacksonData existTel(String tel, String choose) {
		JacksonData jd = new JacksonData();
		try {
			loginService.exictTel(tel, choose);
			jd.success();
		} catch (Exception e) {
			jd.failure(e.getMessage());
		}
		return jd;
	}
	
	/**
	 * 
	 * 方法描述：用户登陆，包括家教和家长
	 * @param choose
	 * @param account
	 * @param password
	 * @param map
	 * @param request
	 * @return
	 * @author ssh
	 * @date 2018年8月19日 下午8:09:33
	 */
	@PostMapping("/login")
	public String login(String choose, String account, String password, Map<String, Object> map, HttpServletRequest request) {
		String url = "";
		try {
			loginService.login(choose, account, password, map, request);
			url = "redirect:/teacher/listTeacher";
		} catch (Exception e) {
			map.put("message", e.getMessage());
			url = "login/login";
		}
		return url;
	}
	
	/**
	 * 
	 * 方法描述：用户注册，包括家教和家长
	 * @param choose
	 * @param tel
	 * @param password
	 * @param map
	 * @param request
	 * @return
	 * @author ssh
	 * @date 2018年8月19日 下午4:28:46
	 */
	@PostMapping("/register")
	public String register(String choose, String tel, String password, Map<String, Object> map, HttpServletRequest request) {
		String url = "";
		try {
			loginService.add(choose, tel, password, map, request);
			url = "redirect:/teacher/listTeacher";
		} catch (Exception e) {
			map.put("message", e.getMessage());
			url = "login/login";
		}
		return url;
	}
	
	
	
	
}
